package excercise;

public class EX06_OOP5 {

	// setXxx 메서드 작성법
	// 멤버변수명이 name 인 경우
	// public void setName(String name) {
	// 	this.name = name;
	// }
	
	// getXxx 메서드 작성법
	// 멤버변수명이 name 인 경우
	// public String getName() {
	// 	return name;
	// }
	
	public static void main(String[] args) {
		SungJukVO sjv = new SungJukVO();
		//sjv.name = "";				// 멤버변수가 private 으로 선언되었으므로 객체명.변수명으로 사용 불가
		sjv.setName("태희");
		System.out.println(sjv.getName());
		
		RetangleVO2 rv = new RetangleVO2(4, 40, "red");
		
		System.out.println("사각형 가로 길이 : " + rv.getWidth());
		System.out.println("사각형 세로 길이 : " + rv.getHeight());
		System.out.println("사각형 색상 : " + rv.getColor());
		System.out.println("사각형 넓이 : " + RetangleService2.getArea(rv.getWidth(), rv.getHeight()));
		System.out.println("사각형 둘레 : " + RetangleService2.getPerimeter(rv.getWidth(), rv.getHeight()));
	}
}

class SungJukVO {
	private String name;
	private int kor;
	private int eng;
	private int mat;
	
	public SungJukVO() {
		name = null;
		kor = 0;
		eng = 0;
		mat = 0;
	}
	
	public SungJukVO(String name, int kor, int eng, int mat) {
		this.name = name;
		this.kor = kor;
		this.eng = eng;
		this.mat = mat;
	}

	// setter / getter 메서드 정의
	public void setName( String name ) {
		this.name = name;
	}
	// 
	public String getName () {
		return this.name;
	}
	
	
//	public String getName() { return name; }
//	public int getKor() { return kor; }
//	public int getEng() { return eng; }
//	public int getMat() { return mat; }
//	public void setName(String name) { this.name = name; }
//	public void setKor(int kor) { this.kor = kor; }
//	public void setEng(int eng) { this.eng = eng; }
//	public void setMat(int mat) { this.mat = mat; }
	
}

class RetangleVO2 {
	
	private float width;
	private float height;
	private String color;
	
	public RetangleVO2() {
		width = 1.0f;
		height = 1.0f;
		color = "white";
	}
	
	public RetangleVO2(float width, float height, String color) {
		this.width = width;
		this.height = height;
		this.color = color;
	}
	
	public void setWidth(float width) { this.width = width; }
	public void setHeight(float height) { this.height = height; }
	public void setColor(String color) { this.color = color; }
	public float getWidth() { return width; }
	public float getHeight() { return height; }
	public String getColor() { return color; }
}

class RetangleService2 {
	static float getArea(float width, float height) {
		return width * height;
	}
	
	static float getPerimeter(float width, float height) {
		return ( 2 * width ) + ( 2 * height);
	}
}









